package com.ruubypay.biz.mvc.workflow.service;

import com.ruubypay.biz.mvc.workflow.model.request.HistroyProcessVo;
import com.ruubypay.biz.mvc.workflow.model.response.AuditProcessResponse;
import com.ruubypay.web.common.page.DataGrid;

import java.io.IOException;
import java.util.List;
import java.util.Map;
/**
 * 历史流程实例列表
 * @author chenhaiyang
 */
public interface HistoryProcessService {
    /**
     * 获取历史流程实例列表
     * @param paramMap 参数
     * @param pageNumber 页码
     * @param pageSize 每页显示条数
     * @return 返回数据集
     */
    DataGrid listDataHistoryProcesses(Map<String, Object> paramMap, Integer pageNumber, Integer pageSize);

    /**
     * 根据流程实例Id 删除历史流程实例
     * @param histroyProcessVo 历史流程实例Id
     */
    void deleteHistoryProcess(HistroyProcessVo histroyProcessVo);

    /**
     * 获取历史流程实例的审批进度与情况
     * @param processInstanceId 流程实例id
     * @return 返回结果
     */
    List<AuditProcessResponse> histoicFlowList(String processInstanceId);

    /**
     * 根据流程实例id获取当前的流程图片
     * @param processInstanceId processInstanceId 流程实例id
     * @return 返回图片字符串
     * @throws IOException IO异常
     */
    String getNowTaskPng(String processInstanceId) throws IOException;
}
